package com.yuhuofei2021.spring.boot.weather.util;

import java.io.Reader;
import java.io.StringReader;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;

/**
 * @description 将xml文件中的元素转换为对象
 * @author yuhuofei2021
 * @date 2021年9月21日
 */
public class XmlBuilder {

	/**
	 * 
	 * @description 将XML转为指定的POJO
	 * @author Administrator
	 * @date 2021年9月21日 
	 * @param clazz
	 * @param xmlString
	 * @return
	 * @throws Exception
	 */
	public static Object xmlStrToOject(Class<?> clazz, String xmlString) throws Exception {
		
		JAXBContext context  = JAXBContext.newInstance(clazz);
		
		//XML转为对象的接口
		Unmarshaller unmarshaller = context.createUnmarshaller();
		
		Reader reader = new StringReader(xmlString);
		Object xmlObject = unmarshaller.unmarshal(reader);
		
		if (null != reader) {
			reader.close();
		}
		
		return xmlObject;
	}
}
